【干货分享】WINCC7.3和1200如何建立OPC通讯?
The following article is from 工控论坛 Author 刘鹏
以下为OPC的基本知识点
概念
在OPC之前,需要花费很多时间使用软件应用程序控制不同供应商的硬件。存在多种不同的系统和协议;用户必须为每一家供应商和每一种协议订购特殊的软件,才能存取具体的接口和驱动程序。因此,用户程序取决于供应商、协议或系统。而OPC具有统一和非专有的软件接口,在自动化工程中具有强大的数据交换功能。
OPC(OLE for Process Control)是嵌入式过程控制标准,规范以OLE/DCOM为技术基础,是用于服务器/客户机连接的统一而开放的接口标准和技术规范。OLE是微软为 Windows系统、应用程序间的数据交换而开发的技术,是Object Linking and Embedding的缩写。
OPC从数据来源提供数据并以标准方式将数据传输至任何客户机应用程序的机制。供应商现在能够开发一种可重新使用、高度优化的服务器,与数据来源通信,并保持从数据来源/设备有效地存取数据的机制。为服务器提供OPC接口允许任何客户机存取设备。
OPC将数据来源提供的数据以标准方式传输至任何客户机应用程序。OPC(用于进程控制的OLE)是一种开放式系统接口标准,可允许在自动化/PLC应用、现场设备和基于PC的应用程序(例如HMI或办公室应用程序)之间进行简单的标准化数据交换。定义工业环境中各种不同应用程序的信息交换,它工作于应用程序的下方。您可以在PC机上监控、调用和处理可编程控制器的数据和事件。
服务器与客户机的概念
OPC数据项是OPC服务器与数据来源的连接,所有与OPC数据项的读写存取均通过包含OPC项目的OPC群组目标进行。同一个OPC项目可包含在几个群组中。当某个变量被查询时,对应的数值会从最新进程数据中获取并被返回,这些数值可以是传感器、控制参数、状态信息或网络连接状态的数值。OPC的结构由3类对象组成:服务器、组和数据项。
OPC服务器:提供数据的OPC元件被称为OPC服务器。OPC服务器向下对设备数据进行采集,向上与OPC客户应用程序通信完成数据交换。
OPC客户端:使用OPC服务器作为数据源的OPC元件称为OPC客户端。
OPC 数据访问
OPC服务器支持两种类型的数据读取:同步读写(Synchronous read/write)和异步读写(Asynchronous read/write)。
同步读写:OPC的客户端向服务器发出一个读/写请求,然后不再继续执行,一直等待直到收到服务器发给客户机的返回值,OPC 客户端才会继续执行下去。
异步读写:OPC的客户端向服务器发出一个读/写请求,在等待返回值的过程中,可以继续执行下面的程序,直到服务器数据准备好后,向客户机发出一个返回值,在回调函数中客户端处理返回数值,然后结束此次读/写过程。
同步读/写数据存取速度快,编程简单,无需回调,但需要等待返回结果。异步读写不需等待返回值,可以同时处理多个请求。
原料:
1、 博图软件(本例用的V15.1版本)
2、 SIMATIC NET(V13.0版本)
3、 西门子1200 CPU 1214C AC/DC/RLY(固件版本2.2)(6ES7 214-1B30-0XB0)
4、 PC机一台(支持win7 32位的电脑带普通的以太网网卡,一般只要不是很老基本都有)用于安装上位机软件WINCC7.3和SINATIC NET软件
5、 普通U盘一个,用于XDB文件的加载。
从实际出发为了大家少走弯路,我将尽力详细写下一些注意事项:
1、 首先V15.1和WINCC7.3是不能安装在同一台电脑的,因为V15.1自带wincc与wincc7.3冲突,所以如果你先安装了博图15.1,wincc7.3肯定会失败的。
2、 西门子1200固件版本4.0或以上的才可以直接用wincc7.3的内部驱动来建立连接。所以呢固件2.2的老老实实的用OPC吧。
3、 在一台PC机上安装,wincc7.3和SIMATIC NET(V13.0)这里讲一下SIMATIC NET的作用主要是在你的PC机里创建一台服务器,你要读取和下发的数据都会经过这台服务器的处理。
4、 在另外一台电脑上安装博图软件v15.1
以上准备工作完成后就可以开始有趣的实验啦。
一、打开博图v15.1,创建新项目“opc 1200”,如图1
图1
添加常规PC机,如图2
图2
添加PLC 1200,如图3
图3
PC机添加OPC服务器,如图4
图4
添加常规网卡,如图5
图5
建立物理连接,连接通道为PN/IE1,如图6
图6
设置常规网卡(IE)的IP地址为192.168.0.20,如图7
图7
设置PLC 1200 IP地址为192.168.0.1,如图8
图八
建立S7协议连接,如图9
图9
S7协议连接完成,如图10
图10
开启1200的系统时钟,如图11
图11
添加PLC程序段,如图12(注意时钟最好选一赫兹的,否则因为延迟,可能检测不到)
图11
生成XDB文件,图13(注意一定要编译,否则XDB文件无法生成,XDB文件路径可以自己设置)
图13
生成的XDB文件放到之前准备好的U盘,如图14
图14
注意:在开始第二部之前需要把PLC组态和程序下载到1200中,不要忘记噢!!!
二、在另外一台PC上打开Staion configuration Editor,如图15到图20所叙述
图15
图16
图17
图18
图19
图20
为了不走弯路,咱就直到底哈,又要上图了
下载PC机组态首先用网线连接,如图21
图21
然后下载PC组态,如图22和图23
图22
图23
下载完成后在PC站打开OPC Scout v10,如图24
图24
在OPC服务器上创建变量MX100.0,如图25
图25
把创建好的变量添加到监控窗口,如图26
图26
这时你就会发现监视窗口在变化,说明OPC服务器通讯成功啦。。Qualty栏显示good
然后你就进入最后一步啦!!!!哈哈哈
三、打开wincc,如图27
图27
创建新工程“00”随意这个,打开变量管理,如图28
图28
添加驱动,如图29
图29
打开“系统参数”,如图30
图30
找到相应的服务器,如图31
图31
图32
添加opc服务器里的变量 如图33到37
图33
图34
图35
图36
图37
运行WINCC查看状态,如图38
图38
图39
图40
因为之前没有创建画面所以空白,不用管它。直接关闭。退出运行画面,如图41
图41
在这个窗口点击“工具”查看通讯状态,如图42到图43
图42
图43
打开wincc图形编辑器,如图44
图44
创建指示,记得连接变量,如图45
图45
运行系统状态一,如图46
图46
状态二,成功啦!如图47
图47
实际情况,完活了,如图48
图48
总结
1、WINCC7.3和net opc软件安装在PC机上,就是既有上位软件也有服务器软件,net 本身就可以监控变量
2、博图v15.1安装在一台电脑上,用于组态
3、U盘为了导入,和导出XBD文件(为什么要用这种方式呢?因为组态时你的设备名称,和版本号很可能不匹配,造成通讯失败,中心思想就是在opc服务器导入一个大概的组态,然后用博图软件下载组态进行覆盖,这样最不容易出错,工科总是那么狗血,研究别人的东西,到处都是坑)
来源/中华工控网,转载请注明出处